package testes;

import static org.junit.Assert.*;

import java.util.HashSet;
import java.util.Set;

import org.bunny.businessLayer.CalendarDate;
import org.bunny.businessLayer.Pais;
import org.bunny.businessLayer.Participacao;
import org.bunny.businessLayer.Treinador;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;

public class TreinadorTest {

	private Treinador t1;
	
	@BeforeClass
	public static void setUpBeforeClass() throws Exception {
	}

	@AfterClass
	public static void tearDownAfterClass() throws Exception {
	}

	@Before
	public void setUp() throws Exception {
		t1 = new Treinador();
	}

	@After
	public void tearDown() throws Exception {
	}

	@Test
	public void testToString() {
		assertEquals("Treinador []\n", t1.toString());
	}

	@Test
	public void testTreinador() {
		Treinador a = new Treinador();
		assertTrue(Treinador.allInstances.contains(a));
	}

	@Test
	public void testTreinadorCalendarDateStringPais() {
		Treinador a = new Treinador(new CalendarDate(1,1,1990), "Joao", new Pais());
		
		assertTrue(Treinador.allInstances.contains(a));
	}

	@Test
	public void testParticipacoes() {
		assertEquals(new HashSet<Participacao>(), t1.participacoes());

	}

	@Test
	public void testSetParticipacoes() {
		Set<Participacao> result = new HashSet<Participacao>();
		Participacao p1 = new Participacao();
		
		Participacao p2 = new Participacao();
		Participacao.allInstances.add(p2);
		
		result.add(p1);
		
		t1.setParticipacoes(result);
		
		assertEquals(result,t1.participacoes());
		
	}

}
